package com.mzj.saas.commons;

/**
 * @author liuyihao
 * @date 2019/3/20
 **/
public class RabbitMQConfig {
    /**
     * 设备下发信息
     */
	public static final String COMMAND_QUEUE = "cm.command.all";
    public static final String COMMAND_EXCHANGE = "cm.command";
    public static final String COMMAND_ROUTING_KEY = "all";

    /**
     * 开机短信
     */
    public static final String STARTUP_SMS_QUEUE = "cm.command.startup.sms";
    public static final String STARTUP_SMS_EXCHANGE = "cm.command.startup";
    public static final String STARTUP_SMS_ROUTING_KEY = "sms";

    /**
     * 设备上报信息
     */
    public static final String COMMAND_REPORT_EXCHANGE = "cm.command.report";
    public static final String COMMAND_REPORT_ROUTING_KEY = "all";
    public static final String COMMAND_REPORT_STATUS_ROUTING_KEY = "status";
    
    /**
     * 设备系统切换成功
     */
	public static final String COMMAND_SYS_QUEUE = "cm.command.sys";
    public static final String COMMAND_SYS_EXCHANGE = "cm.command";
    public static final String COMMAND_SYS_ROUTING_KEY = "switch";
    
    /**
     * TODO 此队列暂时没用到，20190415
     */
    public static final String COMMAND_REPORT_QUEUE = "cm.command.report.all";
    
    /**
     * 设备状态/异常/警告上报
     */
    public static final String COMMAND_REPORT_STATUS_QUEUE = "cm.command.report.status";
    /**
     * DLX，dead letter发送到的 exchange
     *  此处的 exchange 很重要,具体消息就是发送到该交换机的
     */
    public static final String DELAY_EXCHANGE = "cm.delay";
    /**
     * 延迟队列 TTL 名称
     */
    public static final String STARTUP_DELAY_QUEUE = "cm.delay.startup";
    /**
     * routing key 名称
     *  此处的 routingKey 很重要要,具体消息发送在该 routingKey 的
     */
    public static final String STARTUP_DELAY_ROUTING_KEY = "startup";

    /**
	 * 保存客户端用户队列
	 */
	public static final String MQ_CUSER_QUEUE = "cm.cuser.all";
	public static final String MQ_CUSER_EXCHANGE = "cm.cuser";
	public static final String MQ_CUSER_ROUTING_KEY = "all";
	
	/**
	 * 保存客户端用户钱包队列
	 */
	public static final String MQ_CUSER_WALLET_QUEUE = "cm.cuser.wallet.all";
	public static final String MQ_CUSER_WALLET_EXCHANGE = "cm.cuser.wallet";
	public static final String MQ_CUSER_WALLET_ROUTING_KEY = "all";
	
	/**
	 * 订单队列-redis 先操作redis再操作DB队列
	 */
	public static final String MQ_ORDER_QUEUE = "cm.order.all";
	public static final String MQ_ORDER_EXCHANGE = "cm.order";
	public static final String MQ_ORDER_ROUTING_KEY = "all";
	
	/**
	 * 订单队列-DB 直接操作DB队列
	 */
	public static final String MQ_ORDER_DB_QUEUE = "cm.order.db.all";
	public static final String MQ_ORDER_DB_EXCHANGE = "cm.order.db";
	public static final String MQ_ORDER_DB_ROUTING_KEY = "all";
	
	/**
	 * 订单赠品队列-DB
	 */
	public static final String MQ_ORDER_GIFT_LOGISTICS_DB_QUEUE = "cm.order.gift.logistics.db";
	public static final String MQ_ORDER_GIFT_LOGISTICS_DB_ROUTING_KEY = "logistics";
	
	/**
	 * 订单错误队列
	 */
	public static final String MQ_ORDER_ERROR_QUEUE = "cm.order.error.all";
	public static final String MQ_ORDER_ERROR_EXCHANGE = "cm.order.error";
	public static final String MQ_ORDER_ERROR_ROUTING_KEY = "all";
	
	
	/**
	 * 微信订单流水队列redis 先操作redis再操作DB队列
	 */
	public static final String MQ_ORDER_PAY_INFO_QUEUE = "cm.order.pay.info.all";
	public static final String MQ_ORDER_PAY_INFO_EXCHANGE = "cm.order.pay.info";
	public static final String MQ_ORDER_PAY_INFO_ROUTING_KEY = "all";
	
	/**
	 * 微信订单流水队列,直接操作DB队列
	 */
	public static final String MQ_ORDER_PAY_INFO_DB_QUEUE = "cm.order.pay.info.db.all";
	public static final String MQ_ORDER_PAY_INFO_DB_EXCHANGE = "cm.order.pay.info.db";
	public static final String MQ_ORDER_PAY_INFO_DB_ROUTING_KEY = "all";
	
	/**
	 * 微信订单流水错误队列
	 */
	public static final String MQ_ORDER_PAY_INFO_ERROR_QUEUE = "cm.order.pay.info.error.all";
	public static final String MQ_ORDER_PAY_INFO_ERROR_EXCHANGE = "cm.order.pay.error.info";
	public static final String MQ_ORDER_PAY_INFO_ERROR_ROUTING_KEY = "all";
	
	/**
	 * 支付宝订单流水队列redis 先操作redis再操作DB队列
	 */
	public static final String MQ_ORDER_ZFB_PAY_INFO_QUEUE = "cm.order.zfb.pay.info.all";
	public static final String MQ_ORDER_ZFB_PAY_INFO_EXCHANGE = "cm.order.zfb.pay.info";
	public static final String MQ_ORDER_ZFB_PAY_INFO_ROUTING_KEY = "all";
	
	/**
	 * 支付宝订单流水队列直接操作DB队列
	 */
	public static final String MQ_ORDER_ZFB_PAY_INFO_DB_QUEUE = "cm.order.zfb.pay.info.db.all";
	public static final String MQ_ORDER_ZFB_PAY_INFO_DB_EXCHANGE = "cm.order.zfb.pay.info.db";
	public static final String MQ_ORDER_ZFB_PAY_INFO_DB_ROUTING_KEY = "all";
	
	/**
	 * 支付宝订单流水错误队列
	 */
	public static final String MQ_ORDER_ZFB_PAY_INFO_ERROR_QUEUE = "cm.order.zfb.pay.info.error.all";
	public static final String MQ_ORDER_ZFB_PAY_INFO_ERROR_EXCHANGE = "cm.order.zfb.pay.info.error";
	public static final String MQ_ORDER_ZFB_PAY_INFO_ERROR_ROUTING_KEY = "all";
    
	
	/**
	 * 零钱转账成功队列
	 */
	public static final String MQ_ORDER_APPLY_QUEUE = "cm.order.apply.all";
	public static final String MQ_ORDER_APPLY_EXCHANGE = "cm.order.apply";
	public static final String MQ_ORDER_APPLY_ROUTING_KEY = "all";
	
	/**
	 * 开机未清洗告警101
	 */
	public static final String MQ_DEVICE_UNWASHED_QUEUE = "cm.device.unwashed";
	public static final String MQ_DEVICE_EXCHANGE = "cm.device";
	public static final String MQ_DEVICE_UNWASHED_ROUTING_KEY = "unwashed";
	
	/**
	 * 客户主动结束清洗, 进度11
	 */
	public static final String COMMAND_SYS_END_CLEAN_QUEUE = "cm.command.report.end.clean";
	public static final String COMMAND_SYS_END_CLEAN_ROUTING_KEY = "clean";
	
	/**
	 * 正常清洗接收, 推送客服消息
	 */
	public static final String CM_CUSER_SUCCESS_QUEUE = "cm.cuser.customer.msg";
	public static final String CM_CUSER_SUCCESS_ROUTING_KEY = "customer";
	
	/**
	 * 清洗异常, 保存异常信息els
	 */
	public static final String MQ_DEVICE_WARN_LOG_QUEUE = "cm.device.warn.log";
	public static final String MQ_DEVICE_WARN_LOG_ROUTING_KEY = "log";
}
